home *** CD-ROM | disk | FTP | other *** search
- unit RFind;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- StdCtrls, RspFind, ExtCtrls;
-
- type
- TFindForm = class(TForm)
- ListBoxResults: TListBox;
- Label1: TLabel;
- ButtonStart: TButton;
- LabelDirectory: TLabel;
- ButtonStop: TButton;
- ButtonNarrow: TButton;
- ButtonPause: TButton;
- ButtonContinue: TButton;
- ButtonExit: TButton;
- PanelConfig: TPanel;
- EditDrives: TEdit;
- EditMask: TEdit;
- EditText: TEdit;
- Label4: TLabel;
- Label3: TLabel;
- Label2: TLabel;
- CheckBoxCase: TCheckBox;
- ListBoxPaths: TListBox;
- EditPaths: TEdit;
- ListBoxFiles: TListBox;
- EditFiles: TEdit;
- ButtonAddFiles: TButton;
- ButtonClearFiles: TButton;
- ButtonAddPaths: TButton;
- ButtonClearPaths: TButton;
- Label5: TLabel;
- Label6: TLabel;
- RspFind1: TRspFind;
- procedure ButtonClearPathsClick(Sender: TObject);
- procedure ButtonAddFilesClick(Sender: TObject);
- procedure ButtonAddPathsClick(Sender: TObject);
- procedure ButtonClearFilesClick(Sender: TObject);
- procedure ButtonStartClick(Sender: TObject);
- procedure RspFind1ChangeDirectory(Sender: TObject; directory: String);
- procedure RspFind1FileFound(Sender: TObject; directory: String;
- fileinfo: TSearchRec);
- procedure ButtonStopClick(Sender: TObject);
- procedure ButtonNarrowClick(Sender: TObject);
- procedure ButtonPauseClick(Sender: TObject);
- procedure ButtonContinueClick(Sender: TObject);
- procedure ButtonExitClick(Sender: TObject);
- procedure RspFind1Completed(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- FindForm: TFindForm;
-
- implementation
-
- {$R *.DFM}
-
- procedure TFindForm.ButtonClearPathsClick(Sender: TObject);
- begin
- ListBoxPaths.Items.Clear;
- end;
-
- procedure TFindForm.ButtonAddFilesClick(Sender: TObject);
- begin
- ListBoxFiles.Items.Add(EditFiles.Text);
- end;
-
- procedure TFindForm.ButtonAddPathsClick(Sender: TObject);
- begin
- ListBoxPaths.Items.Add(EditPaths.Text);
- end;
-
- procedure TFindForm.ButtonClearFilesClick(Sender: TObject);
- begin
- ListBoxFiles.Items.Clear;
- end;
-
- procedure TFindForm.ButtonStartClick(Sender: TObject);
- begin
- ListBoxResults.Items.Clear;
- RspFind1.Drives:=EditDrives.Text;
- RspFind1.FileMask:=EditMask.Text;
- RspFind1.ContainingText:=EditText.Text;
- RspFind1.Directories.Clear;
- RspFind1.CaseSensitive:=CheckBoxCase.Checked;
- RspFind1.Files.Clear;
- RspFind1.Directories.AddStrings(ListBoxPaths.Items);
- RspFind1.Files.AddStrings(ListBoxFiles.Items);
- ButtonStart.Enabled:=FALSE;
- ButtonStop.Enabled:=TRUE;
- ButtonContinue.Enabled:=FALSE;
- ButtonPause.Enabled:=TRUE;
- PanelConfig.Enabled:=FALSE;
- RspFind1.Start;
-
- end;
-
- procedure TFindForm.RspFind1ChangeDirectory(Sender: TObject;
- directory: String);
- begin
- LabelDirectory.Caption:='Searching in: '+directory;
- end;
-
- procedure TFindForm.RspFind1FileFound(Sender: TObject; directory: String;
- fileinfo: TSearchRec);
- begin
- ListBoxResults.Items.Add(directory+'\'+fileinfo.Name);
- end;
-
- procedure TFindForm.ButtonStopClick(Sender: TObject);
- begin
- RspFind1.Stop;
- ButtonStart.Enabled:=TRUE;
- ButtonStop.Enabled:=FALSE;
- ButtonPause.Enabled:=FALSE;
- ButtonContinue.Enabled:=FALSE;
- PanelConfig.Enabled:=TRUE;
- end;
-
- procedure TFindForm.ButtonNarrowClick(Sender: TObject);
- begin
- ButtonStopClick(Sender);
- ListBoxFiles.Items:=ListBoxResults.Items;
- ListBoxResults.Items.Clear;
-
- end;
-
- procedure TFindForm.ButtonPauseClick(Sender: TObject);
- begin
- RspFind1.Pause;
- ButtonPause.Enabled:=FALSE;
- ButtonContinue.Enabled:=TRUE;
- end;
-
- procedure TFindForm.ButtonContinueClick(Sender: TObject);
- begin
- RspFind1.Continue;
- ButtonContinue.Enabled:=FALSE;
- ButtonPause.Enabled:=TRUE;
- end;
-
- procedure TFindForm.ButtonExitClick(Sender: TObject);
- begin
- Close;
- end;
-
- procedure TFindForm.RspFind1Completed(Sender: TObject);
- begin
- ButtonStart.Enabled:=TRUE;
- ButtonPause.Enabled:=FALSE;
- ButtonContinue.Enabled:=FALSE;
- ButtonStop.Enabled:=FALSE;
- PanelConfig.Enabled:=TRUE;
- end;
-
- procedure TFindForm.FormCreate(Sender: TObject);
- begin
- EditDrives.Text:=RspFind1.GetFixedDrives;
- EditMask.Text:='*.exe';
- EditText.Text:='borland';
- end;
-
- end.
-